The approaches described in this section could be pursued but are not necessarily approaches that have previously been conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Conventionally, robots can be programmed using a method in which a human can bring a robot into the right position by a teaching pendant. Solutions for programming robots can include off-line programming to create a program independent of an actual robot cell. The robot program can be uploaded to a physical industrial robot for execution. The robot cell may be represented via a graphical three-dimensional model in a simulator. The off-line programming and simulator tools can be used to create optimized program paths for the robot to perform a specific task. The simulation of the robot program may be based on robot movements, reachability analysis, collision and near-miss detection, cycle time reporting, and other factors.
The degrees of complexity of control programs very and may include deterministic sequences of trajectories and plug-and-play applications in which no dynamic modifications to trajectories are necessary. Assembly and handling tasks are examples of robotic applications that may need to compensate variations in work piece positions (including search strategies to detect target points). Such tasks can require live information from the working environment in order to dynamically react to changing states and conditions. Partially or fully automated robotic applications are even more complex, as they require the online execution and coordination of numerous tasks (e.g., localization and mapping, object recognition, and handling) to enable robots to achieve their tasks. The idea to use simulation software for both designing and verifying control programs and algorithms in both industrial and service robotics has been known, as can be seen from a wide variety of software applications currently available (e.g., Gazebo, Webots, KUKA SimPro, and Siemens RobotExpert). However, these simulation frameworks are currently not suitable for testing processes for interaction with real environment in a high degree of mechanical interaction between tools and work pieces. Additionally, these simulation networks are highly dependent on real-time sensor data from the working environment. The simulation frameworks are often restricted in their ability with highly detailed geometric models of robots, tools, work pieces, and other objects for contacts or overlaps in or close to real-time.
Additionally, the simulation software may need constant operator supervision. More specifically, an operator may need to review results of the execution of operations by the simulation software and determine which parameters need to be adjusted to obtain successful results of execution. The operator may further need to manually run the simulation software with the adjusted parameters. However, determination of the parameters to be adjusted may include a complex analysis and additional processing devices may need to be involved in the analysis.